
<!DOCTYPE html>
<html itemscope itemtype="http://schema.org/QAPage">
<head>

<title>java - wicket vs Vaadin - Stack Overflow</title>
    <link rel="shortcut icon" href="//cdn.sstatic.net/Sites/stackoverflow/img/favicon.ico?v=4f32ecc8f43d">
    <link rel="apple-touch-icon image_src" href="//cdn.sstatic.net/Sites/stackoverflow/img/apple-touch-icon.png?v=c78bd457575a">
    <link rel="search" type="application/opensearchdescription+xml" title="Stack Overflow" href="/opensearch.xml">
    <meta name="twitter:card" content="summary">
    <meta name="twitter:domain" content="stackoverflow.com"/>
    <meta property="og:type" content="website" />

    <meta property="og:image" itemprop="image primaryImageOfPage" content="http://cdn.sstatic.net/Sites/stackoverflow/img/apple-touch-icon@2.png?v=73d79a89bded&a" />
    <meta name="twitter:title" property="og:title" itemprop="title name" content="wicket vs Vaadin" />
    <meta name="twitter:description" property="og:description" itemprop="description" content="Am torn between wicket and vaadin. i am starting a micro-isv and need to make a choice of web framework. I have narrowed down my choices to wicket and vaadin. I have used both frameworks and i love..." />
    <meta property="og:url" content="http://stackoverflow.com/questions/3553693/wicket-vs-vaadin/3660938"/>
    <link rel="canonical" href="http://stackoverflow.com/questions/3553693/wicket-vs-vaadin/3660938" />



    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script src="//cdn.sstatic.net/Js/stub.en.js?v=6ea9bbf563cc"></script>
    <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/Sites/stackoverflow/all.css?v=9a42690f62be">

            <link rel="alternate" type="application/atom+xml" title="Feed for question &#39;wicket vs Vaadin&#39;" href="/feeds/question/3553693">
            <meta name="twitter:app:country" content="US" />
            <meta name="twitter:app:name:iphone" content="Stack Exchange iOS" />
            <meta name="twitter:app:id:iphone" content="871299723" />
            <meta name="twitter:app:url:iphone" content="se-zaphod://stackoverflow.com/questions/3553693/wicket-vs-vaadin/3660938" />
            <meta name="twitter:app:name:ipad" content="Stack Exchange iOS" />
            <meta name="twitter:app:id:ipad" content="871299723" />
            <meta name="twitter:app:url:ipad" content="se-zaphod://stackoverflow.com/questions/3553693/wicket-vs-vaadin/3660938" />
            <meta name="twitter:app:name:googleplay" content="Stack Exchange Android">
            <meta name="twitter:app:url:googleplay" content="http://stackoverflow.com/questions/3553693/wicket-vs-vaadin/3660938">
            <meta name="twitter:app:id:googleplay" content="com.stackexchange.marvin">
        <script>

            StackExchange.ready(function () {

                    StackExchange.using("snippets", function () {
                        StackExchange.snippets.initSnippetRenderer();
                    });


                StackExchange.using("postValidation", function () {
                    StackExchange.postValidation.initOnBlurAndSubmit($('#post-form'), 2, 'answer');
                });


                StackExchange.question.init({showAnswerHelp:true,totalCommentCount:0,shownCommentCount:0,highlightColor:'#F4A83D',backgroundColor:'#FFF',questionId:3553693});

                styleCode();

                    StackExchange.realtime.subscribeToQuestion('1', '3553693');
                                                                    StackExchange.using("gps", function () { StackExchange.gps.trackOutboundClicks('#content', '.post-text'); });

            });
        </script>


    <script>
        StackExchange.init({"locale":"en","stackAuthUrl":"https://stackauth.com","networkMetaHostname":"meta.stackexchange.com","serverTime":1473698487,"routeName":"Questions/Show","site":{"name":"Stack Overflow","description":"Q&A for professional and enthusiast programmers","isNoticesTabEnabled":true,"recaptchaPublicKey":"6LdchgIAAAAAAJwGpIzRQSOFaO0pU6s44Xt8aTwc","recaptchaAudioLang":"en","enableNewTagCreationWarning":true,"insertSpaceAfterNameTabCompletion":false,"id":1,"enableInsertDocLinkDialog":true,"enableSocialMediaInSharePopup":true},"user":{"fkey":"85560ae2d1ff251940589556713d131f","rep":0,"isAnonymous":true,"isAnonymousNetworkWide":true}}, {"site":{"allowImageUploads":true,"enableUserHovercards":true,"styleCode":true,"enableNewLinkInsertDialog":true},"tags":{},"accounts":{"currentPasswordRequiredForChangingStackIdPassword":true},"flags":{"allowRetractingFlags":true},"snippets":{"snippetsEnabled":true,"renderDomain":"stacksnippets.net"},"markdown":{"asteriskIntraWordEmphasis":true}});
        StackExchange.using.setCacheBreakers({"js/prettify-full.en.js":"b89df285f0ca","js/moderator.en.js":"984423125ac3","js/full-anon.en.js":"afad7e8bdeef","js/full.en.js":"1e1c1550600a","js/wmd.en.js":"075d6491fc09","js/third-party/jquery.autocomplete.min.js":"e5f01e97f7c3","js/third-party/jquery.autocomplete.min.en.js":"","js/mobile.en.js":"e2008ad3c8d0","js/help.en.js":"a2f92aacc060","js/tageditor.en.js":"17ad28fc31be","js/tageditornew.en.js":"6465582fdcbd","js/inline-tag-editing.en.js":"4fa1a4a3339e","js/revisions.en.js":"db5a160e1690","js/review.en.js":"680143819809","js/tagsuggestions.en.js":"d1ff9b84abe5","js/post-validation.en.js":"4d904c4ea8b8","js/explore-qlist.en.js":"d33e3ab2f2e0","js/events.en.js":"81ba93fa05e3","js/keyboard-shortcuts.en.js":"2e0f7f4fa3ba","js/external-editor.en.js":"7e4776eedc29","js/external-editor.en.js":"7e4776eedc29","js/snippet-javascript.en.js":"9aee6f8bf7ad","js/snippet-javascript-codemirror.en.js":"5eb530b6bd18"});
        StackExchange.using("gps", function() {
             StackExchange.gps.init(true);
        });
    </script>

        <script>
            StackExchange.ready(function () {
                $('#nav-tour').click(function () {
                    StackExchange.using("gps", function() {
                        StackExchange.gps.track("aboutpage.click", { aboutclick_location: "headermain" }, true);
                    });
                });
            });
        </script>
</head>
<body class="question-page new-topbar">
    <noscript><div id="noscript-padding"></div></noscript>

        <script>(function () { var old = $.fn.contents; $.fn.contents = function () { try { return old.apply(this, arguments); } catch (e) { return $([]); } } })()</script>
        <iframe id="adzerk-user-match" width="0" height="0" frameborder="0" scrolling="no" onload="window.AUMIframeDone=true"
                src="https://ssum-sec.casalemedia.com/usermatch?s=183712&amp;cb=https%3A%2F%2Fengine.adzerk.net%2Fudb%2F22%2Fsync%2Fi.gif%3FpartnerId%3D1%26userId%3D"
                style="display: none;" marginheight="0" marginwidth="0"></iframe>




    <div id="notify-container"></div>
    <div id="custom-header"></div>





<div class="topbar">
    <div class="topbar-wrapper">

        <div class="js-topbar-dialog-corral">


<div class="topbar-dialog siteSwitcher-dialog dno">
    <div class="header">
        <h3><a href="//stackoverflow.com">current community</a></h3>
    </div>
    <div class="modal-content current-site-container">
        <ul class="current-site">
                <li>
                        <div class="related-links">
                    <a href="http://chat.stackoverflow.com" class="js-gps-track"     data-gps-track="site_switcher.click({ item_type:6 })"
>chat</a>
            </div>




    <a href="//stackoverflow.com"
       class="current-site-link site-link js-gps-track"
       data-id="1"
       data-gps-track="
        site_switcher.click({ item_type:3 })">
        <div class="site-icon favicon favicon-stackoverflow" title="Stack Overflow"></div>
        Stack Overflow
    </a>

                </li>
                <li class="related-site">
                        <div class="L-shaped-icon-container">
        <span class="L-shaped-icon"></span>
    </div>





    <a href="http://meta.stackoverflow.com"
       class="site-link js-gps-track"
       data-id="552"
       data-gps-track="
            site.switch({ target_site:552, item_type:3 }),
        site_switcher.click({ item_type:4 })">
        <div class="site-icon favicon favicon-stackoverflowmeta" title="Meta Stack Overflow"></div>
        Meta Stack Overflow
    </a>

                </li>
        </ul>
    </div>
    <div class="header" id="your-communities-header">
        <h3>
your communities        </h3>

    </div>
    <div class="modal-content" id="your-communities-section">

            <div class="call-to-login">
<a href="https://stackoverflow.com/users/signup?ssrc=site_switcher&amp;returnurl=http%3a%2f%2fstackoverflow.com%2fquestions%2f3553693%2fwicket-vs-vaadin%2f3660938" class="login-link js-gps-track"     data-gps-track="site_switcher.click({ item_type:10 })"
>Sign up</a> or <a href="https://stackoverflow.com/users/login?ssrc=site_switcher&amp;returnurl=http%3a%2f%2fstackoverflow.com%2fquestions%2f3553693%2fwicket-vs-vaadin%2f3660938" class="login-link js-gps-track"     data-gps-track="site_switcher.click({ item_type:11 })"
>log in</a> to customize your list.
            </div>
    </div>
    <div class="header">
        <h3><a href="//stackexchange.com/sites">more stack exchange communities</a></h3>
        <a href="http://blog.stackoverflow.com" class="fr">company blog</a>
    </div>
    <div class="modal-content">
            <div class="child-content"></div>
    </div>
</div>
        </div>

        <div class="network-items">
                <a href="//stackexchange.com"
                   class="topbar-icon icon-site-switcher yes-hover js-site-switcher-button js-gps-track"
                   data-gps-track="site_switcher.show"
                   title="A list of all 160 Stack Exchange sites">
                    <span class="hidden-text">Stack Exchange</span>
                </a>

    <a href="#"
       class="topbar-icon icon-inbox yes-hover js-inbox-button"
       title="Recent inbox messages">
        <span class="hidden-text">Inbox</span>
        <span class="unread-count" style="display:none"></span>
    </a>
    <a href="#"
       class="topbar-icon icon-achievements yes-hover js-achievements-button "
       data-unread-class=""
       title="Recent achievements: reputation, badges, and privileges earned">
        <span class="hidden-text">Reputation and Badges</span>
        <span class="unread-count" style="display:none">

        </span>
    </a>
        </div>

        <div class="topbar-links">

                <div class="links-container">
                <span class="topbar-menu-links">
                                    <a href="https://stackoverflow.com/users/signup?ssrc=head&returnurl=http%3a%2f%2fstackoverflow.com%2fquestions%2f3553693%2fwicket-vs-vaadin%2f3660938" class="login-link">sign up</a>
                                <a href="https://stackoverflow.com/users/login?ssrc=head&returnurl=http%3a%2f%2fstackoverflow.com%2fquestions%2f3553693%2fwicket-vs-vaadin%2f3660938" class="login-link">log in</a>

                            <a href="/tour">tour</a>
        <a href="#" class="icon-help js-help-button" title="Help Center and other resources">
            help
            <span class="triangle"></span>
        </a>
    <div class="topbar-dialog help-dialog js-help-dialog dno">
        <div class="modal-content">
            <ul>
                                    <li>
                        <a href="/tour" class="js-gps-track" data-gps-track="help_popup.click({ item_type:1 })">
                            Tour
                            <span class="item-summary">
                                Start here for a quick overview of the site
                            </span>
                        </a>
                    </li>
                <li>
                    <a href="/help" class="js-gps-track" data-gps-track="help_popup.click({ item_type:4 })">
                        Help Center
                        <span class="item-summary">
                            Detailed answers to any questions you might have
                        </span>
                    </a>
                </li>
                        <li>
                            <a href="//meta.stackoverflow.com" class="js-gps-track" data-gps-track="help_popup.click({ item_type:2 })">
                                Meta
                                <span class="item-summary">
                                    Discuss the workings and policies of this site
                                </span>
                            </a>
                        </li>
                        <li>
                            <a href="http://stackoverflow.com/company/about" class="js-gps-track" data-gps-track="help_popup.click({ item_type:6 })">
                                About Us
                                <span class="item-summary">
                                    Learn more about Stack Overflow the company
                                </span>
                            </a>
                        </li>
                        <li>
                            <a href="http://business.stackoverflow.com/?ref=topbar_help" class="js-gps-track" data-gps-track="help_popup.click({ item_type:7 })">
                                Business
                                <span class="item-summary">
                                    Learn more about hiring developers or posting ads with us
                                </span>
                            </a>
                        </li>
            </ul>
        </div>
    </div>
                                            </span>
                </div>

            <div class="search-container">
                <form id="search" action="/search" method="get" autocomplete="off">
                    <input name="q" type="text" placeholder="Search Q&amp;A" value="" tabindex="1" autocomplete="off" maxlength="240" />
                </form>
            </div>

        </div>
    </div>
</div>
    <script>
        StackExchange.ready(function() { StackExchange.topbar.init(); });
    </script>

    <div class="container">
        <div id="header">
            <br class="cbt">
            <div id="hlogo">
                <a href="/" >
                    Stack Overflow
                </a>
            </div>
            <div id="hmenus">
                <div class="nav mainnavs">
                    <ul>
                        <li class="youarehere"><a id="nav-questions" href="/questions">Questions</a></li>
                            <li><a id="nav-jobs" href="/jobs?med=site-ui&ref=jobs-tab">Jobs</a></li>
                                                <li><a id="nav-docs" href="/documentation">Documentation</a></li>
                        <li><a id="nav-tags" href="/tags">Tags</a></li>
                        <li><a id="nav-users" href="/users">Users</a></li>
                        <li><a id="nav-badges" href="/help/badges">Badges</a></li>
                    </ul>
                </div>
                <div class="nav askquestion">
                    <ul>
                        <li>
                            <a id="nav-askquestion"  href="/questions/ask">Ask Question</a>
                        </li>
                    </ul>
                </div>
            </div>
        </div>




        <div id="content" class="snippet-hidden">


<div itemscope itemtype="http://schema.org/Question">
    <link itemprop="image" href="//cdn.sstatic.net/Sites/stackoverflow/img/apple-touch-icon.png?v=c78bd457575a">
<div class="hero-box docs-announcement">
    <div class="hero-close js-dismiss">Dismiss</div>


    <div class="hero-content text-left">
        <div class="text-wrapper">
            <div class="hero-title">
                Announcing Stack Overflow Documentation
            </div>

            <p class="subtitle">
                We started with Q&amp;A. Technical documentation is next, and we need your help.
            </p>
            <p class="subtitle">
                Whether you're a beginner or an experienced developer, you <i>can</i> contribute.
            </p>
        </div>

            <a href="/users/signup?ssrc=docs_hero&returnurl=%2Ftour%2Fdocumentation" class="btn js-gps-track"
               data-gps-track="docs.hero.clicked({target: 2 })">
                Sign up and start helping &rarr;
            </a>
            <a href="/tour/documentation" class="btn-clear js-gps-track"
               data-gps-track="docs.hero.clicked({target: 1 })">
                Learn more about Documentation &rarr;
            </a>

        <div class="img"></div>
    </div>
</div>

<script>
    StackExchange.ready(function() {
        var location = 0;
        if ($("body").hasClass("question-page")) {
            location = 2;
        } else if ($("body").hasClass("home-page")) {
            location = 1;
        }

        $(".docs-announcement .js-dismiss").one("click", function() {
            $(".docs-announcement").fadeOut("fast");
            $.post("/dismiss-documentation-hero", { fkey: StackExchange.options.user.fkey, location: location });
        });

        StackExchange.using("gps", function () {
            StackExchange.gps.track("docs.hero.show", { location: location }, true);
        });
    });
</script>           <div id="question-header">
                <h1 itemprop="name"><a href="/questions/3553693/wicket-vs-vaadin" class="question-hyperlink">wicket vs Vaadin</a></h1>
        </div>
            <div id="mainbar">



<div class="question" data-questionid="3553693"  id="question">

    <script>
                var ados = ados || {}; ados.run = ados.run || [];
                ados.run.push(function () { ados_add_placement(22,8277,"adzerk1646348753",4).setZone(43); });
            </script>
            <div class="everyonelovesstackoverflow" id="adzerk1646348753"></div>    <table>
        <tr>
            <td class="votecell">


<div class="vote">
        <input type="hidden" name="_id_" value="3553693">
        <a class="vote-up-off" title="This question shows research effort; it is useful and clear">up vote</a>
        <span itemprop="upvoteCount" class="vote-count-post ">38</span>
        <a class="vote-down-off" title="This question does not show any research effort; it is unclear or not useful">down vote</a>

        <a class="star-off" href="#">favorite</a>
        <div class="favoritecount"><b>12</b></div>


</div>

            </td>

<td class="postcell">
<div>
    <div class="post-text" itemprop="text">

<p>Am torn between wicket and vaadin. i am starting a micro-isv and need to make a choice of web framework. I have narrowed down my choices to wicket and vaadin. I have used both frameworks and i love them both. however i need to make a choice. </p>

<p>If i choose vaadin:</p>

<ol>
<li>I wont have to worry much about the look and feel.It comes with nice themes</li>
<li>I will do all my programming in java which am very good at and wont have to spend time hacking css which am not very good at</li>
<li>And most of the components that i will need for a business applications are there OUT OF THE BOX including, desktop like layout, tooltips, Keyboard shortcuts, tables with draggable and collapsible columns to name a few.
How ever , if i go the vaadin way:</li>
<li>i will loose the ability to create UI declaratively.</li>
<li>I wont have the fallback feature if the browser doesnt support javascript - e.g most non webkit mobile browsers.
<ol>
<li>Vaadin company is selling some components - e.g the JPAContainer so am not sure the company will be committed to offering full opensource framework. Business interests will always come first.</li>
<li>vaadin applications will be mostly for the intranet. not very suitable for the internet with a web look and feel.</li>
</ol></li>
</ol>

<p>If i go the wicket way:
I will have to style my applications and i can hardly give them a desktop look and feel. </p>

<p>Any advice. anyone with experience on either framework kindly tell me the cons and pros and how you made your decision. </p>
    </div>
    <div class="post-taglist">
        <a href="/questions/tagged/java" class="post-tag" title="show questions tagged &#39;java&#39;" rel="tag">java</a> <a href="/questions/tagged/wicket" class="post-tag" title="show questions tagged &#39;wicket&#39;" rel="tag">wicket</a> <a href="/questions/tagged/ria" class="post-tag" title="show questions tagged &#39;ria&#39;" rel="tag">ria</a> <a href="/questions/tagged/vaadin" class="post-tag" title="show questions tagged &#39;vaadin&#39;" rel="tag">vaadin</a>
    </div>
    <table class="fw">
    <tr>
    <td class="vt">
<div class="post-menu"><a href="/q/3553693" title="short permalink to this question" class="short-link" id="link-post-3553693">share</a><span class="lsep">|</span><a href="/posts/3553693/edit" class="suggest-edit-post" title="">improve this question</a></div>
    </td>
    <td align="right" class="post-signature">
<div class="user-info user-hover">
    <div class="user-action-time">
        <a href="/posts/3553693/revisions" title="show all edits to this post">edited <span title="2010-08-24 05:04:59Z" class="relativetime">Aug 24 '10 at 5:04</span></a>
    </div>
    <div class="user-gravatar32">
        <a href="/users/15541/leppie"><div class="gravatar-wrapper-32"><img src="https://www.gravatar.com/avatar/515ca9736a9a8ce65e58af764ccddf46?s=32&amp;d=identicon&amp;r=PG" alt="" width="32" height="32"></div></a>
    </div>
    <div class="user-details">
        <a href="/users/15541/leppie">leppie</a>
        <div class="-flair">
            <span class="reputation-score" title="reputation score 83,200" dir="ltr">83.2k</span><span title="13 gold badges"><span class="badge1"></span><span class="badgecount">13</span></span><span title="143 silver badges"><span class="badge2"></span><span class="badgecount">143</span></span><span title="253 bronze badges"><span class="badge3"></span><span class="badgecount">253</span></span>
        </div>
    </div>
</div>    </td>
    <td class="post-signature owner">
        <div class="user-info user-hover">
    <div class="user-action-time">
        asked <span title="2010-08-24 05:01:23Z" class="relativetime">Aug 24 '10 at 5:01</span>
    </div>
    <div class="user-gravatar32">
        <a href="/users/276983/joshua"><div class="gravatar-wrapper-32"><img src="https://www.gravatar.com/avatar/8f3b9e4af76309929e313be54f5bc1b4?s=32&amp;d=identicon&amp;r=PG" alt="" width="32" height="32"></div></a>
    </div>
    <div class="user-details">
        <a href="/users/276983/joshua">joshua</a>
        <div class="-flair">
            <span class="reputation-score" title="reputation score " dir="ltr">2,061</span><span title="2 gold badges"><span class="badge1"></span><span class="badgecount">2</span></span><span title="26 silver badges"><span class="badge2"></span><span class="badgecount">26</span></span><span title="39 bronze badges"><span class="badge3"></span><span class="badgecount">39</span></span>
        </div>
    </div>
</div>
    </td>
    </tr>
    </table>
</div>
</td>
        </tr>

<tr>
    <td class="votecell"></td>
    <td>
        <div id="comments-3553693" class="comments  dno">
            <table>
                <tbody data-remaining-comments-count="0"
                       data-canpost="false"
                       data-cansee="true"
                       data-comments-unavailable="false"
                       data-addlink-disabled="true">

                        <tr><td></td><td></td></tr>
                </tbody>
            </table>
        </div>

        <div id="comments-link-3553693" data-rep=50 data-anon=true>

                <a class="js-add-link comments-link disabled-link "
                   title="Use comments to ask for more information or suggest improvements. Avoid answering questions in comments."
                   >add a comment</a><span class="js-link-separator dno">&nbsp;|&nbsp;</span>
            <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
        </div>
    </td>
</tr>        </table>
</div>

            <div id="answers">

                <a name="tab-top"></a>
                <div id="answers-header">
                    <div class="subheader answers-subheader">
                        <h2>
                                6 Answers
                                <span style="display:none;" itemprop="answerCount">6</span>
                        </h2>
                        <div>
                            <div id="tabs">
        <a href="/questions/3553693/wicket-vs-vaadin?answertab=active#tab-top" data-nav-xhref="" title="Answers with the latest activity first" data-value="active" data-shortcut="A">
            active</a>
        <a href="/questions/3553693/wicket-vs-vaadin?answertab=oldest#tab-top" data-nav-xhref="" title="Answers in the order they were provided" data-value="oldest" data-shortcut="O">
            oldest</a>
        <a class="youarehere" href="/questions/3553693/wicket-vs-vaadin?answertab=votes#tab-top" data-nav-xhref="" title="Answers with the highest score first" data-value="votes" data-shortcut="V">
            votes</a>
</div>
                        </div>
                    </div>
                </div>





<a name="3660938"></a>
<div id="answer-3660938" class="answer accepted-answer" data-answerid="3660938"  itemscope itemtype="http://schema.org/Answer" itemprop="acceptedAnswer">
    <table>
        <tr>
            <td class="votecell">


<div class="vote">
        <input type="hidden" name="_id_" value="3660938">
        <a class="vote-up-off" title="This answer is useful">up vote</a>
        <span itemprop="upvoteCount" class="vote-count-post ">26</span>
        <a class="vote-down-off" title="This answer is not useful">down vote</a>



        <span class="vote-accepted-on load-accepted-answer-date" title="loading when this answer was accepted...">accepted</span>

</div>

            </td>



<td class="answercell">
    <div class="post-text" itemprop="text">
<p>I think I've invested some time for both frameworks. I really like both because they bring the Swing-alike coding to web development. And I don't know easier ones for me (although there is click but I don't like the velocity templating thing)</p>

<p>And yes, there are differences.</p>

<blockquote>
  <p>I wont have to worry much about the look and feel.It comes with nice themes</p>
</blockquote>

<p>true, but every serious company will style its app differently (unless you are prototyping)</p>

<blockquote>
  <p>I will do all my programming in java which am very good at and wont have to spend time hacking css which am not very good at</p>
</blockquote>

<p>Then Vaadin would be 'better'.</p>

<blockquote>
  <p>i will loose the ability to create UI declaratively.</p>
</blockquote>

<p>What are the advantages of that? (BTW: you could code declarative in groovy ;-)) </p>

<p>But ok. I know what you mean: if you can effort a separate designers than wicket is 'better'.</p>

<blockquote>
  <p>i can hardly give them a desktop look and feel. </p>
</blockquote>

<p>Why not? Or what do you mean here? Wicket supports ajax and there are components which supports nice 'desktop-alike' things (ajaxlink, lazycomponent, autocompletion, progressbar, see wicket stuff + extensions). ok, for any more complex component you'll have to code in javascript BUT BTW did you know that you could even <a href="https://cwiki.apache.org/WICKET/google-web-tools-starting-point.html">use GWT within wicket</a></p>

<p>Some minor experiences:</p>

<p>Vaadin is surely faster while coding (no css, html stuff). But if you go production keep in mind that the ease of programming can come to the cost of performance on the client side: e.g. if you use the 'wrong' layouts such as Horizontal/VerticalLayout, ... the massive use of javascript could slow down old browser.</p>

<p>But Vaadin is not slow! Use appropriate layouts such as CssLayout or FastLayout and also old browser can serve it. (Although if you would use CssLayout your coding-style is really wicket-alike.)</p>

<p>One issue with Vaadin is that it is a bit harder to profile, because you don't see easily where the client needs all the CPU and the nested divs gets cryptic id-names.</p>

<p>One great thing about Wicket is its <a href="http://www.atomicgamer.com/dev/2009/10/wicket-guice-2-0-warp-persist-2-0/">warp persist integration</a></p>

<p>(Guice can be integrated in Vaadin and Wicket)</p>

<p>Testing the UI should be easy with Vaadin (although I didn't found unit testing stuff) and is very easy <a href="http://wicket.apache.org/apidocs/1.4/org/apache/wicket/util/tester/WicketTester.html">with wicket</a>.</p>

<p>Last but not least creating lists/tables is VERY easy in Vaadin compared to wicket.</p>
    </div>
    <table class="fw">
    <tr>
    <td class="vt">
<div class="post-menu"><a href="/a/3660938" title="short permalink to this answer" class="short-link" id="link-post-3660938">share</a><span class="lsep">|</span><a href="/posts/3660938/edit" class="suggest-edit-post" title="">improve this answer</a></div>                    </td>
    <td align="right" class="post-signature">
<div class="user-info ">
    <div class="user-action-time">
        <a href="/posts/3660938/revisions" title="show all edits to this post">edited <span title="2010-09-07 17:17:56Z" class="relativetime">Sep 7 '10 at 17:17</span></a>
    </div>
    <div class="user-gravatar32">

    </div>
    <div class="user-details">

        <div class="-flair">

        </div>
    </div>
</div>    </td>



    <td align="right" class="post-signature">


    <div class="user-info user-hover">
    <div class="user-action-time">
        answered <span title="2010-09-07 17:11:06Z" class="relativetime">Sep 7 '10 at 17:11</span>
    </div>
    <div class="user-gravatar32">
        <a href="/users/194609/karussell"><div class="gravatar-wrapper-32"><img src="https://i.stack.imgur.com/c7bw7.png?s=32&amp;g=1" alt="" width="32" height="32"></div></a>
    </div>
    <div class="user-details">
        <a href="/users/194609/karussell">Karussell</a>
        <div class="-flair">
            <span class="reputation-score" title="reputation score 10,081" dir="ltr">10.1k</span><span title="8 gold badges"><span class="badge1"></span><span class="badgecount">8</span></span><span title="55 silver badges"><span class="badge2"></span><span class="badgecount">55</span></span><span title="122 bronze badges"><span class="badge3"></span><span class="badgecount">122</span></span>
        </div>
    </div>
</div>
    </td>
    </tr>
    </table>
</td>
        </tr>

<tr>
    <td class="votecell"></td>
    <td>
        <div id="comments-3660938" class="comments ">
            <table>
                <tbody data-remaining-comments-count="0"
                       data-canpost="false"
                       data-cansee="true"
                       data-comments-unavailable="false"
                       data-addlink-disabled="true">



    <tr id="comment-3856777" class="comment ">
        <td>
            <table>
                <tbody>
                    <tr>
                        <td class=" comment-score">
                                &nbsp;&nbsp;
                        </td>
                        <td>
                                &nbsp;
                        </td>
                    </tr>
                </tbody>
            </table>
        </td>
        <td class="comment-text">
            <div style="display: block;" class="comment-body">
                <span class="comment-copy">Thanks for your informative response. I ended up starting the project with vaadin. This is because it is helping me come up with a relatively good looking, feature rich application with less effort . I have a better experience with wicket but i always found myself spending hours on non-core things like layout, ui colors and all that. I want the application to have a full desktop look an feel without pages and all that. while it is possible to achieve this with wicket, i find most of the things easier to do with vaadin. I will use wicket for public facing  website like parts of the application.</span>
                    &ndash;&nbsp;<a href="/users/276983/joshua"
                       title="2,061 reputation"
                       class="comment-user owner">joshua</a>
                <span class="comment-date" dir="ltr"><span title="2010-09-08 06:28:18Z" class="relativetime-clean">Sep 8 '10 at 6:28</span></span>
                                                                            </div>
                    </td>
    </tr>
    <tr id="comment-6695480" class="comment ">
        <td class="comment-actions">
            <table>
                <tbody>
                    <tr>
                        <td class=" comment-score">
                                <span title="number of &#39;useful comment&#39; votes received"
                                      class="warm">7</span>
                        </td>
                        <td>
                                &nbsp;
                        </td>
                    </tr>
                </tbody>
            </table>
        </td>
        <td class="comment-text">
            <div style="display: block;" class="comment-body">
                <span class="comment-copy">Follow-up on the above comment: I later switched to wicket and i have never looked back since then. I had a problem with vaadin UI layout.</span>
                    &ndash;&nbsp;<a href="/users/276983/joshua"
                       title="2,061 reputation"
                       class="comment-user owner">joshua</a>
                <span class="comment-date" dir="ltr"><span title="2011-04-29 12:30:06Z" class="relativetime-clean">Apr 29 '11 at 12:30</span></span>
                                                                            </div>
                    </td>
    </tr>
    <tr id="comment-6701929" class="comment ">
        <td>
            <table>
                <tbody>
                    <tr>
                        <td class=" comment-score">
                                &nbsp;&nbsp;
                        </td>
                        <td>
                                &nbsp;
                        </td>
                    </tr>
                </tbody>
            </table>
        </td>
        <td class="comment-text">
            <div style="display: block;" class="comment-body">
                <span class="comment-copy">Thanks for the update. What in detail were your problems? My initial problems were performance wise (I can only speak of ~April 2010)</span>
                    &ndash;&nbsp;<a href="/users/194609/karussell"
                       title="10,081 reputation"
                       class="comment-user">Karussell</a>
                <span class="comment-date" dir="ltr"><span title="2011-04-29 20:11:52Z" class="relativetime-clean">Apr 29 '11 at 20:11</span></span>
                                                                            </div>
                    </td>
    </tr>
    <tr id="comment-6707516" class="comment ">
        <td class="comment-actions">
            <table>
                <tbody>
                    <tr>
                        <td class=" comment-score">
                                <span title="number of &#39;useful comment&#39; votes received"
                                      class="cool">1</span>
                        </td>
                        <td>
                                &nbsp;
                        </td>
                    </tr>
                </tbody>
            </table>
        </td>
        <td class="comment-text">
            <div style="display: block;" class="comment-body">
                <span class="comment-copy">It has been a while so i cant remember clearly. I had panels that had form view, table view and combined (form on top of table ). I had created buttons to switch the views. Despite following the instructions on the tutorials, it worked but with unpredictable behaviors. Sometimes taking too long to transition. I decided that the best way to do a browser based application is to write HTML myself . So i switched back to wicket. I have never been cornered when using wicket.</span>
                    &ndash;&nbsp;<a href="/users/276983/joshua"
                       title="2,061 reputation"
                       class="comment-user owner">joshua</a>
                <span class="comment-date" dir="ltr"><span title="2011-04-30 10:00:20Z" class="relativetime-clean">Apr 30 '11 at 10:00</span></span>
                                                                            </div>
                    </td>
    </tr>
    <tr id="comment-41573243" class="comment ">
        <td>
            <table>
                <tbody>
                    <tr>
                        <td class=" comment-score">
                                &nbsp;&nbsp;
                        </td>
                        <td>
                                &nbsp;
                        </td>
                    </tr>
                </tbody>
            </table>
        </td>
        <td class="comment-text">
            <div style="display: block;" class="comment-body">
                <span class="comment-copy">For desktop feels, try ExtJS javascript framework. It is awesome.</span>
                    &ndash;&nbsp;<a href="/users/1435079/lawrence"
                       title="459 reputation"
                       class="comment-user">Lawrence</a>
                <span class="comment-date" dir="ltr"><span title="2014-10-20 14:16:44Z" class="relativetime-clean">Oct 20 '14 at 14:16</span></span>
                                                                            </div>
                    </td>
    </tr>
                </tbody>
            </table>
        </div>

        <div id="comments-link-3660938" data-rep=50 data-anon=true>

                <a class="js-add-link comments-link disabled-link "
                   title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1” or “thanks”."
                   >add a comment</a><span class="js-link-separator dno">&nbsp;|&nbsp;</span>
            <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
        </div>
    </td>
</tr>    </table>
</div>
<script>
                var ados = ados || {}; ados.run = ados.run || [];
                ados.run.push(function () { ados_add_placement(22,8277,"adzerk1001474405",4).setZone(44); });
            </script>
            <div class="everyonelovesstackoverflow" id="adzerk1001474405"></div>

<a name="3563602"></a>
<div id="answer-3563602" class="answer" data-answerid="3563602"  itemscope itemtype="http://schema.org/Answer">
    <table>
        <tr>
            <td class="votecell">


<div class="vote">
        <input type="hidden" name="_id_" value="3563602">
        <a class="vote-up-off" title="This answer is useful">up vote</a>
        <span itemprop="upvoteCount" class="vote-count-post ">9</span>
        <a class="vote-down-off" title="This answer is not useful">down vote</a>




</div>

            </td>



<td class="answercell">
    <div class="post-text" itemprop="text">
<p>I've worked extensively with Wicket but I've not had any experience with Vaadin so this might be (a little) biased.</p>

<p>I'd recommend Wicket for obvious reasons, but what's probably of interest to you is Wickets openness. As Gweebz rightly pointed out, Wicket uses basic HTML markup as its foundation, so any structural or cosmetic changes are often trivial to implement. </p>

<p>Personally one of the things I really enjoy about out wicket work is the flow between front end presentation and the data backend, we've implemented Spring &amp; JPA/Hibernate which means that any changes in the front end can be translated back into the data base with a single line of code thanks to Wickets model based architecture.</p>

<p>Again I can't say much for Vaadin having never worked with it, but if you're looking for architectures to start off with, I'd also recommend you have a look at GWT.</p>
    </div>
    <table class="fw">
    <tr>
    <td class="vt">
<div class="post-menu"><a href="/a/3563602" title="short permalink to this answer" class="short-link" id="link-post-3563602">share</a><span class="lsep">|</span><a href="/posts/3563602/edit" class="suggest-edit-post" title="">improve this answer</a></div>                    </td>



    <td align="right" class="post-signature">


    <div class="user-info ">
    <div class="user-action-time">
        answered <span title="2010-08-25 07:14:38Z" class="relativetime">Aug 25 '10 at 7:14</span>
    </div>
    <div class="user-gravatar32">
        <a href="/users/354601/bjorns"><div class="gravatar-wrapper-32"><img src="https://www.gravatar.com/avatar/310bc8daab76710c21a71f3aaf479f0a?s=32&amp;d=identicon&amp;r=PG" alt="" width="32" height="32"></div></a>
    </div>
    <div class="user-details">
        <a href="/users/354601/bjorns">BjornS</a>
        <div class="-flair">
            <span class="reputation-score" title="reputation score " dir="ltr">682</span><span title="4 silver badges"><span class="badge2"></span><span class="badgecount">4</span></span><span title="15 bronze badges"><span class="badge3"></span><span class="badgecount">15</span></span>
        </div>
    </div>
</div>
    </td>
    </tr>
    </table>
</td>
        </tr>

<tr>
    <td class="votecell"></td>
    <td>
        <div id="comments-3563602" class="comments ">
            <table>
                <tbody data-remaining-comments-count="0"
                       data-canpost="false"
                       data-cansee="true"
                       data-comments-unavailable="false"
                       data-addlink-disabled="true">



    <tr id="comment-3805329" class="comment ">
        <td class="comment-actions">
            <table>
                <tbody>
                    <tr>
                        <td class=" comment-score">
                                <span title="number of &#39;useful comment&#39; votes received"
                                      class="cool">1</span>
                        </td>
                        <td>
                                &nbsp;
                        </td>
                    </tr>
                </tbody>
            </table>
        </td>
        <td class="comment-text">
            <div style="display: block;" class="comment-body">
                <span class="comment-copy">Disclaimer: I&#39;m a member of the Vaadin team and I really don&#39;t know enough about Wicket so please correct me if I get anything wrong.  What I&#39;ve gathered Wicket&#39;s programming model is quite similar compared with Vaadin. Spring, JPA etc. backend stuff are readily available for both. I don&#39;t know what Wicket does to support those, but Vaadin includes various ways to integrate them, eg. JPAContainer. Also check out the upcoming Spring Roo plugin for Vaadin.  See the rest of my comment below.</span>
                    &ndash;&nbsp;<a href="/users/283077/hezamu"
                       title="1,059 reputation"
                       class="comment-user">hezamu</a>
                <span class="comment-date" dir="ltr"><span title="2010-09-01 22:13:27Z" class="relativetime-clean">Sep 1 '10 at 22:13</span></span>
                                                                            </div>
                    </td>
    </tr>
    <tr id="comment-5700179" class="comment ">
        <td class="comment-actions">
            <table>
                <tbody>
                    <tr>
                        <td class=" comment-score">
                                <span title="number of &#39;useful comment&#39; votes received"
                                      class="warm">5</span>
                        </td>
                        <td>
                                &nbsp;
                        </td>
                    </tr>
                </tbody>
            </table>
        </td>
        <td class="comment-text">
            <div style="display: block;" class="comment-body">
                <span class="comment-copy">&quot;..., JPA etc. backend stuff are readily available for both. I don&#39;t know what Wicket does to support those, but Vaadin includes various ways to integrate them, eg. JPAContainer.&quot;  --  It really puts me off to learn that JPAContainer is not free for commercial use unless you buy a license from the same guys who made vaadin. Isnt it not your goal to make your framework as good and complete as possible? Or is your goal to make your framework good enough to attract developers but also lacking enough to make developers spend some money on some components?  --</span>
                    &ndash;&nbsp;<a href="/users/276983/joshua"
                       title="2,061 reputation"
                       class="comment-user owner">joshua</a>
                <span class="comment-date" dir="ltr"><span title="2011-02-23 05:11:15Z" class="relativetime-clean">Feb 23 '11 at 5:11</span></span>
                                                                            </div>
                    </td>
    </tr>
                </tbody>
            </table>
        </div>

        <div id="comments-link-3563602" data-rep=50 data-anon=true>

                <a class="js-add-link comments-link disabled-link "
                   title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1” or “thanks”."
                   >add a comment</a><span class="js-link-separator dno">&nbsp;|&nbsp;</span>
            <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
        </div>
    </td>
</tr>    </table>
</div>


<a name="3622519"></a>
<div id="answer-3622519" class="answer" data-answerid="3622519"  itemscope itemtype="http://schema.org/Answer">
    <table>
        <tr>
            <td class="votecell">


<div class="vote">
        <input type="hidden" name="_id_" value="3622519">
        <a class="vote-up-off" title="This answer is useful">up vote</a>
        <span itemprop="upvoteCount" class="vote-count-post ">9</span>
        <a class="vote-down-off" title="This answer is not useful">down vote</a>




</div>

            </td>



<td class="answercell">
    <div class="post-text" itemprop="text">
<p>(continued from the comment in the first Wicket-related answer)</p>

<p>The major difference between Vaadin and Wicket is with how UI composition and client side code is written. With Vaadin you usually compose your UI without any templates or HTML at all and you get a sleek, fully Ajax'ed UI out of the box. However, if you prefer the templating approach just use CustomLayout which does exactly that.</p>

<p>Client side coding is rarely needed, but when it is you do it with the Java-based GWT which is IMO a lot more nicer than writing Javascript by hand. Besides, with GWT you automatically get cross-browser compliant solution instead of having to deal with those issues yourself.</p>

<p>When comparing frameworks you also should take a look at community activity and documentation. With Vaadin both of those are excellent. Also note the Vaadin Directory which currently contains 100+ very useful UI components and other addons.</p>
    </div>
    <table class="fw">
    <tr>
    <td class="vt">
<div class="post-menu"><a href="/a/3622519" title="short permalink to this answer" class="short-link" id="link-post-3622519">share</a><span class="lsep">|</span><a href="/posts/3622519/edit" class="suggest-edit-post" title="">improve this answer</a></div>                    </td>



    <td align="right" class="post-signature">


    <div class="user-info user-hover">
    <div class="user-action-time">
        answered <span title="2010-09-01 22:17:35Z" class="relativetime">Sep 1 '10 at 22:17</span>
    </div>
    <div class="user-gravatar32">
        <a href="/users/283077/hezamu"><div class="gravatar-wrapper-32"><img src="https://www.gravatar.com/avatar/e0fc24cb1e0088ac136b0baa7e570683?s=32&amp;d=identicon&amp;r=PG" alt="" width="32" height="32"></div></a>
    </div>
    <div class="user-details">
        <a href="/users/283077/hezamu">hezamu</a>
        <div class="-flair">
            <span class="reputation-score" title="reputation score " dir="ltr">1,059</span><span title="8 silver badges"><span class="badge2"></span><span class="badgecount">8</span></span><span title="14 bronze badges"><span class="badge3"></span><span class="badgecount">14</span></span>
        </div>
    </div>
</div>
    </td>
    </tr>
    </table>
</td>
        </tr>

<tr>
    <td class="votecell"></td>
    <td>
        <div id="comments-3622519" class="comments ">
            <table>
                <tbody data-remaining-comments-count="0"
                       data-canpost="false"
                       data-cansee="true"
                       data-comments-unavailable="false"
                       data-addlink-disabled="true">



    <tr id="comment-4198264" class="comment ">
        <td class="comment-actions">
            <table>
                <tbody>
                    <tr>
                        <td class=" comment-score">
                                <span title="number of &#39;useful comment&#39; votes received"
                                      class="warm">6</span>
                        </td>
                        <td>
                                &nbsp;
                        </td>
                    </tr>
                </tbody>
            </table>
        </td>
        <td class="comment-text">
            <div style="display: block;" class="comment-body">
                <span class="comment-copy">When plugging Vaadin, it <i>might</i> be fair to always mention the fact that you work for IT Mill (the company behind Vaadin). :)</span>
                    &ndash;&nbsp;<a href="/users/56285/jonik"
                       title="36,881 reputation"
                       class="comment-user">Jonik</a>
                <span class="comment-date" dir="ltr"><span title="2010-10-14 14:25:59Z" class="relativetime-clean">Oct 14 '10 at 14:25</span></span>
                                                                            </div>
                    </td>
    </tr>
    <tr id="comment-4198280" class="comment ">
        <td class="comment-actions">
            <table>
                <tbody>
                    <tr>
                        <td class=" comment-score">
                                <span title="number of &#39;useful comment&#39; votes received"
                                      class="cool">3</span>
                        </td>
                        <td>
                                &nbsp;
                        </td>
                    </tr>
                </tbody>
            </table>
        </td>
        <td class="comment-text">
            <div style="display: block;" class="comment-body">
                <span class="comment-copy">Ah, sorry, you did do that in the comment to the other answer</span>
                    &ndash;&nbsp;<a href="/users/56285/jonik"
                       title="36,881 reputation"
                       class="comment-user">Jonik</a>
                <span class="comment-date" dir="ltr"><span title="2010-10-14 14:27:30Z" class="relativetime-clean">Oct 14 '10 at 14:27</span></span>
                                                                            </div>
                    </td>
    </tr>
                </tbody>
            </table>
        </div>

        <div id="comments-link-3622519" data-rep=50 data-anon=true>

                <a class="js-add-link comments-link disabled-link "
                   title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1” or “thanks”."
                   >add a comment</a><span class="js-link-separator dno">&nbsp;|&nbsp;</span>
            <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
        </div>
    </td>
</tr>    </table>
</div>


<a name="3559475"></a>
<div id="answer-3559475" class="answer" data-answerid="3559475"  itemscope itemtype="http://schema.org/Answer">
    <table>
        <tr>
            <td class="votecell">


<div class="vote">
        <input type="hidden" name="_id_" value="3559475">
        <a class="vote-up-off" title="This answer is useful">up vote</a>
        <span itemprop="upvoteCount" class="vote-count-post ">7</span>
        <a class="vote-down-off" title="This answer is not useful">down vote</a>




</div>

            </td>



<td class="answercell">
    <div class="post-text" itemprop="text">
<p>I have a limited amount of experience with each but I prefer Vaadin. It allowed a richer experience with the web application I was developing. The main benefit that sold us though was how easy it was to write unit tests around our UI classes, ensuring the components functioned correctly when interacted with in the expected ways. This is also possible with Wicket however it was more difficult in my experience.</p>

<p>I will also mention that either framework will require some styling. Wicket starts off as plain old HTML and Vaadin starts off with a MacOSX-like theme by default but almost any web-app you write will require at least SOME customization. With this in mind, customizing the CSS of a Wicket app is SIGNIFICANTLY easier than Vaadin for the simple reason that you control the markup. Vaadin hides the markup from you and generates elements with weird IDs and structures so it is harder to customize the look. Just remember this when making your decision.</p>
    </div>
    <table class="fw">
    <tr>
    <td class="vt">
<div class="post-menu"><a href="/a/3559475" title="short permalink to this answer" class="short-link" id="link-post-3559475">share</a><span class="lsep">|</span><a href="/posts/3559475/edit" class="suggest-edit-post" title="">improve this answer</a></div>                    </td>



    <td align="right" class="post-signature">


    <div class="user-info user-hover">
    <div class="user-action-time">
        answered <span title="2010-08-24 17:57:00Z" class="relativetime">Aug 24 '10 at 17:57</span>
    </div>
    <div class="user-gravatar32">
        <a href="/users/346561/jesse-webb"><div class="gravatar-wrapper-32"><img src="https://i.stack.imgur.com/mlG9J.jpg?s=32&amp;g=1" alt="" width="32" height="32"></div></a>
    </div>
    <div class="user-details">
        <a href="/users/346561/jesse-webb">Jesse Webb</a>
        <div class="-flair">
            <span class="reputation-score" title="reputation score 13,642" dir="ltr">13.6k</span><span title="12 gold badges"><span class="badge1"></span><span class="badgecount">12</span></span><span title="67 silver badges"><span class="badge2"></span><span class="badgecount">67</span></span><span title="103 bronze badges"><span class="badge3"></span><span class="badgecount">103</span></span>
        </div>
    </div>
</div>
    </td>
    </tr>
    </table>
</td>
        </tr>

<tr>
    <td class="votecell"></td>
    <td>
        <div id="comments-3559475" class="comments ">
            <table>
                <tbody data-remaining-comments-count="0"
                       data-canpost="false"
                       data-cansee="true"
                       data-comments-unavailable="false"
                       data-addlink-disabled="true">



    <tr id="comment-3851129" class="comment ">
        <td>
            <table>
                <tbody>
                    <tr>
                        <td class=" comment-score">
                                &nbsp;&nbsp;
                        </td>
                        <td>
                                &nbsp;
                        </td>
                    </tr>
                </tbody>
            </table>
        </td>
        <td class="comment-text">
            <div style="display: block;" class="comment-body">
                <span class="comment-copy">this is a fair comparison although I think that with Vaadin it is relative simple to style components: <a href="http://stackoverflow.com/questions/2827052/what-is-the-method-of-choice-to-adjust-css-changes-in-vaadin" title="what is the method of choice to adjust css changes in vaadin">stackoverflow.com/questions/2827052/&hellip;</a></span>
                    &ndash;&nbsp;<a href="/users/194609/karussell"
                       title="10,081 reputation"
                       class="comment-user">Karussell</a>
                <span class="comment-date" dir="ltr"><span title="2010-09-07 16:46:55Z" class="relativetime-clean">Sep 7 '10 at 16:46</span></span>
                    <span class="edited-yes" title="this comment was edited 1 time"></span>
                                                                            </div>
                    </td>
    </tr>
    <tr id="comment-57631173" class="comment ">
        <td>
            <table>
                <tbody>
                    <tr>
                        <td class=" comment-score">
                                &nbsp;&nbsp;
                        </td>
                        <td>
                                &nbsp;
                        </td>
                    </tr>
                </tbody>
            </table>
        </td>
        <td class="comment-text">
            <div style="display: block;" class="comment-body">
                <span class="comment-copy">Wicket also generates components with unpredictable numeric IDs by default. You can, however, set them explicitly if you prefer. I&#39;ve seen a lot of people complaining about using Selenium with Wicket because the IDs are unpredictable.</span>
                    &ndash;&nbsp;<a href="/users/1873291/ethan-hohensee"
                       title="698 reputation"
                       class="comment-user">Ethan Hohensee</a>
                <span class="comment-date" dir="ltr"><span title="2016-01-22 15:11:03Z" class="relativetime-clean">Jan 22 at 15:11</span></span>
                                                                            </div>
                    </td>
    </tr>
                </tbody>
            </table>
        </div>

        <div id="comments-link-3559475" data-rep=50 data-anon=true>

                <a class="js-add-link comments-link disabled-link "
                   title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1” or “thanks”."
                   >add a comment</a><span class="js-link-separator dno">&nbsp;|&nbsp;</span>
            <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
        </div>
    </td>
</tr>    </table>
</div>


<a name="20839322"></a>
<div id="answer-20839322" class="answer" data-answerid="20839322"  itemscope itemtype="http://schema.org/Answer">
    <table>
        <tr>
            <td class="votecell">


<div class="vote">
        <input type="hidden" name="_id_" value="20839322">
        <a class="vote-up-off" title="This answer is useful">up vote</a>
        <span itemprop="upvoteCount" class="vote-count-post ">0</span>
        <a class="vote-down-off" title="This answer is not useful">down vote</a>




</div>

            </td>



<td class="answercell">
    <div class="post-text" itemprop="text">
<p>Also do notice that even though Vaadin base framework is free, for some additional functionality you might need to <strong>buy</strong> extensions.</p>

<p>Ex - If you need to integrate a good charting solution such as Highcharts, you'd have to pay and buy the vaadin charts extension (even though highcharts is available free for FOSS apps, the vaadin charts plugin built on that is not given free for FOSS apps).</p>
    </div>
    <table class="fw">
    <tr>
    <td class="vt">
<div class="post-menu"><a href="/a/20839322" title="short permalink to this answer" class="short-link" id="link-post-20839322">share</a><span class="lsep">|</span><a href="/posts/20839322/edit" class="suggest-edit-post" title="">improve this answer</a></div>                    </td>



    <td align="right" class="post-signature">


    <div class="user-info ">
    <div class="user-action-time">
        answered <span title="2013-12-30 12:11:58Z" class="relativetime">Dec 30 '13 at 12:11</span>
    </div>
    <div class="user-gravatar32">
        <a href="/users/1281089/ishan-thilina-somasiri"><div class="gravatar-wrapper-32"><img src="https://www.gravatar.com/avatar/6859e35f93544c2c3f1c1f8a0a2fb53b?s=32&amp;d=identicon&amp;r=PG" alt="" width="32" height="32"></div></a>
    </div>
    <div class="user-details">
        <a href="/users/1281089/ishan-thilina-somasiri">Ishan Thilina Somasiri</a>
        <div class="-flair">
            <span class="reputation-score" title="reputation score " dir="ltr">175</span><span title="3 silver badges"><span class="badge2"></span><span class="badgecount">3</span></span><span title="10 bronze badges"><span class="badge3"></span><span class="badgecount">10</span></span>
        </div>
    </div>
</div>
    </td>
    </tr>
    </table>
</td>
        </tr>

<tr>
    <td class="votecell"></td>
    <td>
        <div id="comments-20839322" class="comments  dno">
            <table>
                <tbody data-remaining-comments-count="0"
                       data-canpost="false"
                       data-cansee="true"
                       data-comments-unavailable="false"
                       data-addlink-disabled="true">

                        <tr><td></td><td></td></tr>
                </tbody>
            </table>
        </div>

        <div id="comments-link-20839322" data-rep=50 data-anon=true>

                <a class="js-add-link comments-link disabled-link "
                   title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1” or “thanks”."
                   >add a comment</a><span class="js-link-separator dno">&nbsp;|&nbsp;</span>
            <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
        </div>
    </td>
</tr>    </table>
</div>


<a name="35127579"></a>
<div id="answer-35127579" class="answer" data-answerid="35127579"  itemscope itemtype="http://schema.org/Answer">
    <table>
        <tr>
            <td class="votecell">


<div class="vote">
        <input type="hidden" name="_id_" value="35127579">
        <a class="vote-up-off" title="This answer is useful">up vote</a>
        <span itemprop="upvoteCount" class="vote-count-post ">0</span>
        <a class="vote-down-off" title="This answer is not useful">down vote</a>




</div>

            </td>



<td class="answercell">
    <div class="post-text" itemprop="text">
<p>I am currently working with Wicket and I have worked in the pass with Vaadin. I wil be short in my observations:</p>

<ul>
<li>Vaadin is entitled to be free but IMO, is not so beautiful like that. If you need support, help, documentation for that painful and tricky problems that you encounter, then you are screwed because you do not have so good documentation/community when compared with Apache Wicket. Vaadin have guys to help you, but you have to pay for it.;</li>
<li>To program in wicket you need to be a strong programmer. Vaadin also requires good Java knowledge but you can easily do some spaghetti code if you want (just saying, not doing..);</li>
<li>Apache Wicket really separate the web technologies (Javascript, HTML, etc.) from the framework technology (Java). Vaadin also try to do it, but IMO is not so elegant and transparent on that.</li>
</ul>

<p>Appart from that, we are talking about two different types of frameworks, two different approach, which have pros and cons that I advice you to search and compare and see what really fits your needs.</p>

<p>Edit: Oh, and about the look and feel, for instance you always have <a href="http://wb.agilecoders.de/demo/" rel="nofollow">Wicket Bootstrap</a></p>
    </div>
    <table class="fw">
    <tr>
    <td class="vt">
<div class="post-menu"><a href="/a/35127579" title="short permalink to this answer" class="short-link" id="link-post-35127579">share</a><span class="lsep">|</span><a href="/posts/35127579/edit" class="suggest-edit-post" title="">improve this answer</a></div>                    </td>
    <td align="right" class="post-signature">
<div class="user-info ">
    <div class="user-action-time">
        <a href="/posts/35127579/revisions" title="show all edits to this post">edited <span title="2016-02-01 10:06:43Z" class="relativetime">Feb 1 at 10:06</span></a>
    </div>
    <div class="user-gravatar32">

    </div>
    <div class="user-details">

        <div class="-flair">

        </div>
    </div>
</div>    </td>



    <td align="right" class="post-signature">


    <div class="user-info ">
    <div class="user-action-time">
        answered <span title="2016-02-01 09:59:38Z" class="relativetime">Feb 1 at 9:59</span>
    </div>
    <div class="user-gravatar32">
        <a href="/users/716861/cavaleiro"><div class="gravatar-wrapper-32"><img src="https://www.gravatar.com/avatar/3441017503907888fb83b1e8525c74a5?s=32&amp;d=identicon&amp;r=PG" alt="" width="32" height="32"></div></a>
    </div>
    <div class="user-details">
        <a href="/users/716861/cavaleiro">Cavaleiro</a>
        <div class="-flair">
            <span class="reputation-score" title="reputation score " dir="ltr">91</span><span title="1 silver badge"><span class="badge2"></span><span class="badgecount">1</span></span><span title="3 bronze badges"><span class="badge3"></span><span class="badgecount">3</span></span>
        </div>
    </div>
</div>
    </td>
    </tr>
    </table>
</td>
        </tr>

<tr>
    <td class="votecell"></td>
    <td>
        <div id="comments-35127579" class="comments  dno">
            <table>
                <tbody data-remaining-comments-count="0"
                       data-canpost="false"
                       data-cansee="true"
                       data-comments-unavailable="false"
                       data-addlink-disabled="true">

                        <tr><td></td><td></td></tr>
                </tbody>
            </table>
        </div>

        <div id="comments-link-35127579" data-rep=50 data-anon=true>

                <a class="js-add-link comments-link disabled-link "
                   title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1” or “thanks”."
                   >add a comment</a><span class="js-link-separator dno">&nbsp;|&nbsp;</span>
            <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
        </div>
    </td>
</tr>    </table>
</div>
                                    <a name='new-answer'></a>
                        <form id="post-form" action="/questions/3553693/answer/submit" method="post"  class="post-form">
                            <input type="hidden" id="post-id" value="3553693" />
                            <input type="hidden" id="qualityBanWarningShown" name="qualityBanWarningShown" value="false" />
                            <input type="hidden" name="referrer" value=""/>
                            <h2 class="space">Your Answer</h2>


            <script>
            StackExchange.ifUsing("editor", function () {
                StackExchange.using("externalEditor", function () {
                    StackExchange.using("snippets", function () {
                        StackExchange.snippets.init();
                    });
                });
            }, "code-snippets");
        </script>


<script>
    StackExchange.ready(function() {
        initTagRenderer("".split(" "), "".split(" "));

        StackExchange.using("externalEditor", function() {
                // Have to fire editor after snippets, if snippets enabled
                if (StackExchange.settings.snippets.snippetsEnabled) {
                    StackExchange.using("snippets", function() {
                        createEditor();
                    });
                }
                else {
                    createEditor();
                }
            });

            function createEditor() {
                prepareEditor({
                    heartbeatType: 'answer',
                convertImagesToLinks: true,
                reputationToPostImages: 10,
                bindNavPrevention: true,
                postfix: "",
                    onDemand: true,
                    discardSelector: ".discard-answer"
                    ,immediatelyShowMarkdownHelp:true
                    });


        }
    });
</script>


<div id="post-editor" class="post-editor js-post-editor">

    <div style="position: relative;">
        <div class="wmd-container">
            <div id="wmd-button-bar" class="wmd-button-bar"></div>
            <textarea id="wmd-input" class="wmd-input" name="post-text" cols="92" rows="15" tabindex="101" data-min-length=""></textarea>
        </div>
    </div>

    <div class="fl" style="margin-top: 8px; height:24px;">&nbsp;</div>
    <div id="draft-saved" class="draft-saved community-option fl" style="margin-top: 8px; height:24px; display:none;">draft saved</div>

    <div id="draft-discarded" class="draft-discarded community-option fl" style="margin-top: 8px; height:24px; display:none;">draft discarded</div>



    <div id="wmd-preview" class="wmd-preview"></div>
    <div></div>
    <div class="edit-block">
        <input id="fkey" name="fkey" type="hidden" value="85560ae2d1ff251940589556713d131f">
        <input id="author" name="author" type="text">
    </div>



</div>
                            <div style="position: relative;">

                                            <div class="form-item dno new-post-login">

                <div class="new-login-form">
                    <div class="new-login-left">
                        <h3>Sign up or <a id="login-link" href="/users/login?ssrc=question_page&returnurl=http%3a%2f%2fstackoverflow.com%2fquestions%2f3553693%2fwicket-vs-vaadin%23new-answer">log in</a></h3>
                        <script>
                            StackExchange.ready(function () {
                                StackExchange.helpers.onClickDraftSave('#login-link');

                                var $window = $(window),
                                    onScroll = function(e) {
                                        var $elem = $('.new-login-left'),
                                            docViewTop = $window.scrollTop(),
                                            docViewBottom = docViewTop + $window.height(),
                                            elemTop = $elem.offset().top,
                                            elemBottom = elemTop + $elem.height();
                                        if ((docViewTop < elemTop) && (docViewBottom > elemBottom))  {
                                            StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
                                            $window.unbind('scroll', onScroll);
                                        }
                                    };
                                $window.on('scroll', onScroll);

                            });
                        </script>
                        <div class="preferred-login google-login">
                            <p><span class="icon"></span><span>Sign up using Google</span></p>
                        </div>
                        <div class="preferred-login facebook-login">
                            <p><span class="icon"></span><span>Sign up using Facebook</span></p>
                        </div>
                        <div class="preferred-login stackexchange-login">
                            <p><span class="icon"></span><span>Sign up using Email and Password</span></p>
                        </div>
                    </div>
                    <input type="hidden" name="manual-openid" class="manual-openid" />
                    <input type="hidden" name="use-facebook" class="use-facebook" value="false" />
                    <input type="hidden" name="use-google" class="use-google" value="false" />
                    <input type="button" class="submit-openid" value="Submit" style="display:none" />
                    <div class="new-login-right">
                                <h3>Post as a guest</h3>
    <div class="form-item">
        <table>
        <tr>
                    <td class="vm">
                <div>
                    <label for="display-name">Name</label>
                    <input id="display-name" name="display-name" type="text" size="30" maxlength="30" value="" tabindex="105">
                </div>
                <div>
                    <label for="m-address">Email</label>
                    <input id="m-address" name="m-address" type="email" size="30" maxlength="100" value="" tabindex="106" placeholder="required, but never shown" />
                </div>
            </td>
        </tr>
        </table>
    </div>

                    </div>
                </div>
            </div>
            <script>
                StackExchange.ready(
                    function () {
                        StackExchange.openid.initPostLogin('.new-post-login', 'http%3a%2f%2fstackoverflow.com%2fquestions%2f3553693%2fwicket-vs-vaadin%23new-answer', 'question_page');
                    }
                );
            </script>
            <noscript>
                        <h3>Post as a guest</h3>
    <div class="form-item">
        <table>
        <tr>
                    <td class="vm">
                <div>
                    <label for="display-name">Name</label>
                    <input id="display-name" name="display-name" type="text" size="30" maxlength="30" value="" tabindex="105">
                </div>
                <div>
                    <label for="m-address">Email</label>
                    <input id="m-address" name="m-address" type="email" size="30" maxlength="100" value="" tabindex="106" placeholder="required, but never shown" />
                </div>
            </td>
        </tr>
        </table>
    </div>

            </noscript>

                            </div>

                                                            <div class="form-submit cbt">
                                    <input id="submit-button" type="submit" value="Post Your Answer" tabindex="110">
                                    <a href="#" class="btn-clear discard-answer dno">discard</a>

<p class="privacy-policy-agreement">
By posting your answer, you agree to the <a href='http://stackexchange.com/legal/privacy-policy' target='_blank'>privacy policy</a> and <a href='http://stackexchange.com/legal/terms-of-service' target='_blank'>terms of service</a>.</p>
<input type="hidden" name="legalLinksShown" value="1" />                                </div>
                        </form>



                        <h2 class="bottom-notice" data-loc="1">
Not the answer you&#39;re looking for?                          Browse other questions tagged <a href="/questions/tagged/java" class="post-tag" title="show questions tagged &#39;java&#39;" rel="tag">java</a> <a href="/questions/tagged/wicket" class="post-tag" title="show questions tagged &#39;wicket&#39;" rel="tag">wicket</a> <a href="/questions/tagged/ria" class="post-tag" title="show questions tagged &#39;ria&#39;" rel="tag">ria</a> <a href="/questions/tagged/vaadin" class="post-tag" title="show questions tagged &#39;vaadin&#39;" rel="tag">vaadin</a>  or <a href="/questions/ask">ask your own question</a>.                      </h2>
            </div>
        </div>
                <div id="sidebar" class="show-votes">
                            <div class="module question-stats">
                    <table id="qinfo">
                        <tr>
                            <td>
                                <p class="label-key">asked</p>
                            </td>
                            <td style="padding-left: 10px">
                                <p class="label-key" title="2010-08-24 05:01:23Z"><b>6 years ago</b></p>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <p class="label-key">viewed</p>
                            </td>

                            <td style="padding-left: 10px">
                                <p class="label-key">
                                    <b>15853 times</b>
                                </p>
                            </td>
                        </tr>
                            <tr>
                                <td>
                                    <p class="label-key">active</p>
                                </td>
                                <td style="padding-left: 10px">
                                    <p class="label-key"><b><a href="?lastactivity" class="lastactivity-link" title="2016-02-01 10:06:43Z">7 months ago</a></b></p>
                                </td>
                            </tr>
                    </table>
                </div>

            <script>
                var ados = ados || {}; ados.run = ados.run || [];
                ados.run.push(function () { ados_add_placement(22,8277,"adzerk1530493032",[5,17,2221]).setZone(45); });
            </script>
            <div class="everyonelovesstackoverflow" id="adzerk1530493032"></div>
            <div id="hireme"></div>
        <script>
;(function(n){var r,t,i;try{if(typeof[].indexOf!="function")return;if(r=["stackoverflow.com","serverfault.com","careers.stackoverflow.com","blog.codinghorror.com","joelonsoftware.com","www.joelonsoftware.com"],r[0]!=="*"&&r.indexOf(location.hostname)===-1)return;t=window;t.clc_opts=n;n.autoload&&(t.clc_init=t.clc_init||[],t.clc_init.push(function(){return t.clc.load()}));i=document.createElement("script");i.async=!0;i.src=n.lib;document.body.appendChild(i)}catch(u){}}).call(null, {"az":true,"kt":2000,"tto":true,"autoload":true,"d":{"sb":["hireme","clc-sb"],"tlb":["careers1","clc-tlb"],"mlb":["careers3","clc-mlb"]},"allowed":["stackoverflow.com","serverfault.com","careers.stackoverflow.com","blog.codinghorror.com","joelonsoftware.com","www.joelonsoftware.com"],"h":"clc.stackoverflow.com","u":"//clc.stackoverflow.com/p.js","lib":"//cdn.sstatic.net/clc/clc.min.js?v=9bfd011f6c3f"});        </script>


            <div class="module sidebar-linked">
    <h4 id="h-linked">Linked</h4>
    <div class="linked" data-tracker="lq=1">

<div class="spacer">
    <a href="/q/8733486" title="Vote score (upvotes - downvotes)">
        <div class="answer-votes  default">6</div>
    </a>
    <a href="/questions/8733486/vaadin-alternative-for-heavily-loaded-ui?noredirect=1" class="question-hyperlink">Vaadin alternative for heavily loaded UI</a>
</div>
<div class="spacer">
    <a href="/q/2827052" title="Vote score (upvotes - downvotes)">
        <div class="answer-votes answered-accepted default">4</div>
    </a>
    <a href="/questions/2827052/what-is-the-method-of-choice-to-adjust-css-changes-in-vaadin?noredirect=1" class="question-hyperlink">What is the method of choice to adjust CSS changes in vaadin?</a>
</div>          </div>
</div>

                <div class="module sidebar-related">
                    <h4 id="h-related">Related</h4>
                    <div class="related js-gps-related-questions" data-tracker="rq=1">
                        <div class="spacer"><a href="/q/657352" title="Vote score (upvotes - downvotes)"><div class="answer-votes answered-accepted default">43</div></a><a href="/questions/657352/difference-between-apache-tapestry-and-apache-wicket" class="question-hyperlink">Difference between Apache Tapestry and Apache Wicket</a></div><div class="spacer"><a href="/q/4109854" title="Vote score (upvotes - downvotes)"><div class="answer-votes default">1</div></a><a href="/questions/4109854/mixing-scala-and-java-on-wicket" class="question-hyperlink">Mixing Scala and Java on Wicket</a></div><div class="spacer"><a href="/q/5260220" title="Vote score (upvotes - downvotes)"><div class="answer-votes answered-accepted default">4</div></a><a href="/questions/5260220/architecture-question-gwt-or-vaadin-to-create-desktop-application" class="question-hyperlink">Architecture Question: GWT or Vaadin to create Desktop Application?</a></div><div class="spacer"><a href="/q/5395603" title="Vote score (upvotes - downvotes)"><div class="answer-votes answered-accepted default">2</div></a><a href="/questions/5395603/wicket-changing-the-text-of-an-ajaxbutton-on-submit" class="question-hyperlink">Wicket: Changing the text of an AjaxButton on submit</a></div><div class="spacer"><a href="/q/8535283" title="Vote score (upvotes - downvotes)"><div class="answer-votes answered-accepted default">0</div></a><a href="/questions/8535283/roadmap-to-learn-vaadin-for-non-swing-developer" class="question-hyperlink">Roadmap to learn Vaadin for Non Swing developer</a></div><div class="spacer"><a href="/q/8733486" title="Vote score (upvotes - downvotes)"><div class="answer-votes default">6</div></a><a href="/questions/8733486/vaadin-alternative-for-heavily-loaded-ui" class="question-hyperlink">Vaadin alternative for heavily loaded UI</a></div><div class="spacer"><a href="/q/12122257" title="Vote score (upvotes - downvotes)"><div class="answer-votes answered-accepted default">0</div></a><a href="/questions/12122257/apache-wicket-replace-fragements-of-the-ria-application-web-site-without-pa" class="question-hyperlink">Apache Wicket replace fragements of the RIA application (web-site :)) without page refresh</a></div><div class="spacer"><a href="/q/15087966" title="Vote score (upvotes - downvotes)"><div class="answer-votes default">2</div></a><a href="/questions/15087966/displaying-a-text-file-in-browser-in-vaadin" class="question-hyperlink">Displaying a text file in browser in vaadin</a></div><div class="spacer"><a href="/q/27063950" title="Vote score (upvotes - downvotes)"><div class="answer-votes default">0</div></a><a href="/questions/27063950/vaadin-gwt-gwt-something-server-side-something-else-at-all" class="question-hyperlink">Vaadin, Gwt, gwt + something server-side, something else at all?</a></div><div class="spacer"><a href="/q/31240686" title="Vote score (upvotes - downvotes)"><div class="answer-votes answered-accepted default">0</div></a><a href="/questions/31240686/use-vaadin-for-ofbiz-website" class="question-hyperlink">Use Vaadin for OfBiz website</a></div>
                    </div>
                </div>

<div id="hot-network-questions" class="module">
    <h4>
        <a href="//stackexchange.com/questions?tab=hot"
           class="js-gps-track"
           data-gps-track="posts_hot_network.click({ item_type:1, location:11 })">
            Hot Network Questions
        </a>
    </h4>
    <ul>
            <li >
                <div class="favicon favicon-mathematica" title="Mathematica Stack Exchange"></div><a href="http://mathematica.stackexchange.com/questions/126150/how-to-implement-recursive-function" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:387 }); posts_hot_network.click({ item_type:2, location:11 })">
                    How to implement recursive function
                </a>

            </li>
            <li >
                <div class="favicon favicon-travel" title="Travel Stack Exchange"></div><a href="http://travel.stackexchange.com/questions/78646/in-the-uk-on-visa-free-entry-can-i-visit-europe-and-return" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:273 }); posts_hot_network.click({ item_type:2, location:11 })">
                    In the UK on visa-free entry, can I visit Europe and return?
                </a>

            </li>
            <li >
                <div class="favicon favicon-codegolf" title="Programming Puzzles &amp; Code Golf Stack Exchange"></div><a href="http://codegolf.stackexchange.com/questions/93005/is-it-a-bumpy-word" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:200 }); posts_hot_network.click({ item_type:2, location:11 })">
                    Is it a Bumpy Word?
                </a>

            </li>
            <li >
                <div class="favicon favicon-puzzling" title="Puzzling Stack Exchange"></div><a href="http://puzzling.stackexchange.com/questions/42425/an-ancient-indus-valley-code" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:559 }); posts_hot_network.click({ item_type:2, location:11 })">
                    An Ancient Indus Valley Code
                </a>

            </li>
            <li >
                <div class="favicon favicon-askubuntu" title="Ask Ubuntu"></div><a href="http://askubuntu.com/questions/823876/loop-over-json-files-inside-subdirectories" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:89 }); posts_hot_network.click({ item_type:2, location:11 })">
                    Loop over json files inside subdirectories
                </a>

            </li>
            <li class="dno js-hidden">
                <div class="favicon favicon-unix" title="Unix &amp; Linux Stack Exchange"></div><a href="http://unix.stackexchange.com/questions/309209/is-it-possible-to-share-files-between-2-different-os-on-the-same-computer" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:106 }); posts_hot_network.click({ item_type:2, location:11 })">
                    Is it possible to share files between 2 different os on the same computer?
                </a>

            </li>
            <li class="dno js-hidden">
                <div class="favicon favicon-codegolf" title="Programming Puzzles &amp; Code Golf Stack Exchange"></div><a href="http://codegolf.stackexchange.com/questions/92962/there-can-be-only-1" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:200 }); posts_hot_network.click({ item_type:2, location:11 })">
                    There can be only 1!
                </a>

            </li>
            <li class="dno js-hidden">
                <div class="favicon favicon-security" title="Information Security Stack Exchange"></div><a href="http://security.stackexchange.com/questions/136589/sql-database-password-encryption-opinion-needed" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:162 }); posts_hot_network.click({ item_type:2, location:11 })">
                    Sql database password encryption opinion needed
                </a>

            </li>
            <li class="dno js-hidden">
                <div class="favicon favicon-rpg" title="Role-playing Games Stack Exchange"></div><a href="http://rpg.stackexchange.com/questions/87844/how-many-bonus-actions-can-i-take" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:122 }); posts_hot_network.click({ item_type:2, location:11 })">
                    How many bonus actions can I take?
                </a>

            </li>
            <li class="dno js-hidden">
                <div class="favicon favicon-electronics" title="Electrical Engineering Stack Exchange"></div><a href="http://electronics.stackexchange.com/questions/257444/can-a-decoupling-capacitor-be-too-large" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:135 }); posts_hot_network.click({ item_type:2, location:11 })">
                    Can a decoupling capacitor be too large?
                </a>

            </li>
            <li class="dno js-hidden">
                <div class="favicon favicon-webmasters" title="Webmasters Stack Exchange"></div><a href="http://webmasters.stackexchange.com/questions/99219/does-text-shadow-css-affect-seo-ranking-by-risking-a-cloaking-penalty" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:45 }); posts_hot_network.click({ item_type:2, location:11 })">
                    Does text-shadow CSS affect SEO ranking by risking a cloaking penalty?
                </a>

            </li>
            <li class="dno js-hidden">
                <div class="favicon favicon-outdoors" title="The Great Outdoors Stack Exchange"></div><a href="http://outdoors.stackexchange.com/questions/13876/how-to-get-out-through-surf-in-fins" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:395 }); posts_hot_network.click({ item_type:2, location:11 })">
                    How to get out through surf in fins?
                </a>

            </li>
            <li class="dno js-hidden">
                <div class="favicon favicon-money" title="Personal Finance &amp; Money Stack Exchange"></div><a href="http://money.stackexchange.com/questions/70601/how-much-to-put-toward-credit-card" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:93 }); posts_hot_network.click({ item_type:2, location:11 })">
                    How much to put toward credit card
                </a>

            </li>
            <li class="dno js-hidden">
                <div class="favicon favicon-stackoverflow" title="Stack Overflow"></div><a href="http://stackoverflow.com/questions/39448160/strange-java-behaviour-with-static-and-final-qualifiers" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:1 }); posts_hot_network.click({ item_type:2, location:11 })">
                    Strange Java behaviour with static and final qualifiers
                </a>

            </li>
            <li class="dno js-hidden">
                <div class="favicon favicon-academia" title="Academia Stack Exchange"></div><a href="http://academia.stackexchange.com/questions/76370/why-do-most-people-think-its-a-bad-idea-to-read-from-slides" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:415 }); posts_hot_network.click({ item_type:2, location:11 })">
                    Why do most people think it&#39;s a bad idea to read from slides?
                </a>

            </li>
            <li class="dno js-hidden">
                <div class="favicon favicon-biology" title="Biology Stack Exchange"></div><a href="http://biology.stackexchange.com/questions/51491/what-is-this-yellowish-insect" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:375 }); posts_hot_network.click({ item_type:2, location:11 })">
                    What is this yellowish insect?
                </a>

            </li>
            <li class="dno js-hidden">
                <div class="favicon favicon-worldbuilding" title="Worldbuilding Stack Exchange"></div><a href="http://worldbuilding.stackexchange.com/questions/55043/why-do-people-in-cryogenic-sleep-not-wear-clothes" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:579 }); posts_hot_network.click({ item_type:2, location:11 })">
                    Why do people in Cryogenic sleep not wear clothes?
                </a>

            </li>
            <li class="dno js-hidden">
                <div class="favicon favicon-scifi" title="Science Fiction &amp; Fantasy Stack Exchange"></div><a href="http://scifi.stackexchange.com/questions/140304/why-was-scott-lang-chosen-as-ant-man-over-hank-pym-and-eric-ogrady" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:186 }); posts_hot_network.click({ item_type:2, location:11 })">
                    Why was Scott Lang chosen as Ant-Man over Hank Pym and Eric O&#39;Grady
                </a>

            </li>
            <li class="dno js-hidden">
                <div class="favicon favicon-programmers" title="Programmers Stack Exchange"></div><a href="http://programmers.stackexchange.com/questions/330850/why-did-sql-injection-prevention-mechanism-evolve-into-direction-of-using-parame" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:131 }); posts_hot_network.click({ item_type:2, location:11 })">
                    Why did SQL Injection prevention mechanism evolve into direction of using Parameterized Queries?
                </a>

            </li>
            <li class="dno js-hidden">
                <div class="favicon favicon-workplace" title="The Workplace Stack Exchange"></div><a href="http://workplace.stackexchange.com/questions/75595/coworker-is-easily-and-often-offended-and-doesnt-want-us-to-mention-offensive-t" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:423 }); posts_hot_network.click({ item_type:2, location:11 })">
                    Coworker is easily and often offended and doesn&#39;t want us to mention offensive topics like facial hair
                </a>

            </li>
            <li class="dno js-hidden">
                <div class="favicon favicon-math" title="Mathematics Stack Exchange"></div><a href="http://math.stackexchange.com/questions/1923437/a-function-in-which-addition-and-multiplication-behave-the-same-way" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:69 }); posts_hot_network.click({ item_type:2, location:11 })">
                    A function in which addition and multiplication behave the same way
                </a>

            </li>
            <li class="dno js-hidden">
                <div class="favicon favicon-puzzling" title="Puzzling Stack Exchange"></div><a href="http://puzzling.stackexchange.com/questions/42346/what-is-the-smallest-set-of-letters-that-can-spell-any-integer" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:559 }); posts_hot_network.click({ item_type:2, location:11 })">
                    What is the smallest set of letters that can spell any integer?
                </a>

            </li>
            <li class="dno js-hidden">
                <div class="favicon favicon-gamedev" title="Game Development Stack Exchange"></div><a href="http://gamedev.stackexchange.com/questions/129686/what-exactly-is-a-physics-engine" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:53 }); posts_hot_network.click({ item_type:2, location:11 })">
                    What exactly is a physics engine?
                </a>

            </li>
            <li class="dno js-hidden">
                <div class="favicon favicon-math" title="Mathematics Stack Exchange"></div><a href="http://math.stackexchange.com/questions/1923419/what-is-the-sum-of-all-positive-even-divisors-of-1000" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:69 }); posts_hot_network.click({ item_type:2, location:11 })">
                    What is the sum of all positive even divisors of 1000?
                </a>

            </li>
    </ul>

        <a href="#"
           class="show-more js-show-more js-gps-track"
           data-gps-track="posts_hot_network.click({ item_type:3, location:11 })">
            more hot questions
        </a>
</div>
        </div>

<div id="feed-link">
    <div id="feed-link-text">
        <a href="/feeds/question/3553693" title="feed of this question and its answers">
            <span class="feed-icon"></span>question feed
        </a>
    </div>
</div>  <script>
StackExchange.ready(function(){$.get('/posts/3553693/ivc/b2f3');});
</script>
<noscript>
    <div><img src="/posts/3553693/ivc/b2f3" class="dno" alt="" width="0" height="0"></div>
</noscript><div style="display:none" id="prettify-lang">lang-java</div></div>


        </div>
    </div>
    <div id="footer" class="categories">
        <div class="footerwrap">
            <div id="footer-menu">
                <div class="top-footer-links">
                    <a href="http://stackoverflow.com/company/about">about us</a>
                        <a href="/tour">tour</a>
                    <a href="/help">help</a>
                    <a href="http://blog.stackoverflow.com?blb=1">blog</a>
                        <a href="http://chat.stackoverflow.com">chat</a>
                    <a href="http://data.stackexchange.com">data</a>
                    <a href="http://stackexchange.com/legal">legal</a>
                    <a href="http://stackexchange.com/legal/privacy-policy">privacy policy</a>
                    <a href="http://stackoverflow.com/company/work-here">work here</a>
                    <a href="http://stackexchange.com/mediakit">advertising info</a>

                    <a onclick='StackExchange.switchMobile("on")'>mobile</a>
                    <b><a href="/contact">contact us</a></b>
                        <b><a href="http://meta.stackoverflow.com">feedback</a></b>

                </div>
                <div id="footer-sites">
                    <table>
    <tr>
            <th colspan=4>
                Technology
            </th>
            <th colspan=2>
                Life / Arts
            </th>
            <th colspan=2>
                Culture / Recreation
            </th>
            <th colspan=2>
                Science
            </th>
            <th >
                Other
            </th>
    </tr>
    <tr>
            <td>
                <ol>
                        <li><a href="//stackoverflow.com" title="professional and enthusiast programmers">Stack Overflow</a></li>
                        <li><a href="//serverfault.com" title="system and network administrators">Server Fault</a></li>
                        <li><a href="//superuser.com" title="computer enthusiasts and power users">Super User</a></li>
                        <li><a href="//webapps.stackexchange.com" title="power users of web applications">Web Applications</a></li>
                        <li><a href="//askubuntu.com" title="Ubuntu users and developers">Ask Ubuntu</a></li>
                        <li><a href="//webmasters.stackexchange.com" title="pro webmasters">Webmasters</a></li>
                        <li><a href="//gamedev.stackexchange.com" title="professional and independent game developers">Game Development</a></li>
                        <li><a href="//tex.stackexchange.com" title="users of TeX, LaTeX, ConTeXt, and related typesetting systems">TeX - LaTeX</a></li>
                            </ol></td><td><ol>
                        <li><a href="//programmers.stackexchange.com" title="professional programmers interested in conceptual questions about software development">Programmers</a></li>
                        <li><a href="//unix.stackexchange.com" title="users of Linux, FreeBSD and other Un*x-like operating systems">Unix &amp; Linux</a></li>
                        <li><a href="//apple.stackexchange.com" title="power users of Apple hardware and software">Ask Different (Apple)</a></li>
                        <li><a href="//wordpress.stackexchange.com" title="WordPress developers and administrators">WordPress Development</a></li>
                        <li><a href="//gis.stackexchange.com" title="cartographers, geographers and GIS professionals">Geographic Information Systems</a></li>
                        <li><a href="//electronics.stackexchange.com" title="electronics and electrical engineering professionals, students, and enthusiasts">Electrical Engineering</a></li>
                        <li><a href="//android.stackexchange.com" title="enthusiasts and power users of the Android operating system">Android Enthusiasts</a></li>
                        <li><a href="//security.stackexchange.com" title="information security professionals">Information Security</a></li>
                            </ol></td><td><ol>
                        <li><a href="//dba.stackexchange.com" title="database professionals who wish to improve their database skills and learn from others in the community">Database Administrators</a></li>
                        <li><a href="//drupal.stackexchange.com" title="Drupal developers and administrators">Drupal Answers</a></li>
                        <li><a href="//sharepoint.stackexchange.com" title="SharePoint enthusiasts">SharePoint</a></li>
                        <li><a href="//ux.stackexchange.com" title="user experience researchers and experts">User Experience</a></li>
                        <li><a href="//mathematica.stackexchange.com" title="users of Mathematica">Mathematica</a></li>
                        <li><a href="//salesforce.stackexchange.com" title="Salesforce administrators, implementation experts, developers and anybody in-between">Salesforce</a></li>
                        <li><a href="//expressionengine.stackexchange.com" title="administrators, end users, developers and designers for ExpressionEngine&#174; CMS">ExpressionEngine&#174; Answers</a></li>
                        <li><a href="//crypto.stackexchange.com" title="software developers, mathematicians and others interested in cryptography">Cryptography</a></li>
                            </ol></td><td><ol>
                        <li><a href="//codereview.stackexchange.com" title="peer programmer code reviews">Code Review</a></li>
                        <li><a href="//magento.stackexchange.com" title="users of the Magento e-Commerce platform">Magento</a></li>
                        <li><a href="//dsp.stackexchange.com" title="practitioners of the art and science of signal, image and video processing">Signal Processing</a></li>
                        <li><a href="//raspberrypi.stackexchange.com" title="users and developers of hardware and software for Raspberry Pi">Raspberry Pi</a></li>
                        <li><a href="//codegolf.stackexchange.com" title="programming puzzle enthusiasts and code golfers">Programming Puzzles &amp; Code Golf</a></li>

                        <li>
                            <a href="http://stackexchange.com/sites#technology" class="more">
                                more (7)
                            </a>
                        </li>
                </ol>
            </td>
            <td>
                <ol>
                        <li><a href="//photo.stackexchange.com" title="professional, enthusiast and amateur photographers">Photography</a></li>
                        <li><a href="//scifi.stackexchange.com" title="science fiction and fantasy enthusiasts">Science Fiction &amp; Fantasy</a></li>
                        <li><a href="//graphicdesign.stackexchange.com" title="Graphic Design professionals, students, and enthusiasts">Graphic Design</a></li>
                        <li><a href="//movies.stackexchange.com" title="movie and tv enthusiasts">Movies &amp; TV</a></li>
                        <li><a href="//music.stackexchange.com" title="musicians, students, and enthusiasts">Music: Practice &amp; Theory</a></li>
                        <li><a href="//cooking.stackexchange.com" title="professional and amateur chefs">Seasoned Advice (cooking)</a></li>
                        <li><a href="//diy.stackexchange.com" title="contractors and serious DIYers">Home Improvement</a></li>
                        <li><a href="//money.stackexchange.com" title="people who want to be financially literate">Personal Finance &amp; Money</a></li>
                            </ol></td><td><ol>
                        <li><a href="//academia.stackexchange.com" title="academics and those enrolled in higher education">Academia</a></li>

                        <li>
                            <a href="http://stackexchange.com/sites#lifearts" class="more">
                                more (8)
                            </a>
                        </li>
                </ol>
            </td>
            <td>
                <ol>
                        <li><a href="//english.stackexchange.com" title="linguists, etymologists, and serious English language enthusiasts">English Language &amp; Usage</a></li>
                        <li><a href="//skeptics.stackexchange.com" title="scientific skepticism">Skeptics</a></li>
                        <li><a href="//judaism.stackexchange.com" title="those who base their lives on Jewish law and tradition and anyone interested in learning more">Mi Yodeya (Judaism)</a></li>
                        <li><a href="//travel.stackexchange.com" title="road warriors and seasoned travelers">Travel</a></li>
                        <li><a href="//christianity.stackexchange.com" title="committed Christians, experts in Christianity and those interested in learning more">Christianity</a></li>
                        <li><a href="//ell.stackexchange.com" title="speakers of other languages learning English">English Language Learners</a></li>
                        <li><a href="//japanese.stackexchange.com" title="students, teachers, and linguists wanting to discuss the finer points of the Japanese language">Japanese Language</a></li>
                        <li><a href="//gaming.stackexchange.com" title="passionate videogamers on all platforms">Arqade (gaming)</a></li>
                            </ol></td><td><ol>
                        <li><a href="//bicycles.stackexchange.com" title="people who build and repair bicycles, people who train cycling, or commute on bicycles">Bicycles</a></li>
                        <li><a href="//rpg.stackexchange.com" title="gamemasters and players of tabletop, paper-and-pencil role-playing games">Role-playing Games</a></li>
                        <li><a href="//anime.stackexchange.com" title="anime and manga fans">Anime &amp; Manga</a></li>

                        <li>
                            <a href="http://stackexchange.com/sites#culturerecreation" class="more">
                                more (18)
                            </a>
                        </li>
                </ol>
            </td>
            <td>
                <ol>
                        <li><a href="//math.stackexchange.com" title="people studying math at any level and professionals in related fields">Mathematics</a></li>
                        <li><a href="//stats.stackexchange.com" title="people interested in statistics, machine learning, data analysis, data mining, and data visualization">Cross Validated (stats)</a></li>
                        <li><a href="//cstheory.stackexchange.com" title="theoretical computer scientists and researchers in related fields">Theoretical Computer Science</a></li>
                        <li><a href="//physics.stackexchange.com" title="active researchers, academics and students of physics">Physics</a></li>
                        <li><a href="//mathoverflow.net" title="professional mathematicians">MathOverflow</a></li>
                        <li><a href="//chemistry.stackexchange.com" title="scientists, academics, teachers and students">Chemistry</a></li>
                        <li><a href="//biology.stackexchange.com" title="biology researchers, academics, and students">Biology</a></li>
                        <li><a href="//cs.stackexchange.com" title="students, researchers and practitioners of computer science">Computer Science</a></li>
                            </ol></td><td><ol>
                        <li><a href="//philosophy.stackexchange.com" title="those interested in logical reasoning">Philosophy</a></li>

                        <li>
                            <a href="http://stackexchange.com/sites#science" class="more">
                                more (3)
                            </a>
                        </li>
                </ol>
            </td>
            <td>
                <ol>
                        <li><a href="//stackapps.com" title="apps, scripts, and development with the Stack Exchange API">Stack Apps</a></li>
                        <li><a href="//meta.stackexchange.com" title="meta-discussion of the Stack Exchange family of Q&amp;A websites">Meta Stack Exchange</a></li>
                        <li><a href="//area51.stackexchange.com" title="proposing new sites in the Stack Exchange network">Area 51</a></li>
                        <li><a href="//careers.stackoverflow.com">Stack Overflow Careers</a></li>

                </ol>
            </td>
    </tr>
</table>
                </div>
            </div>
            <div id="copyright">
                site design / logo &#169; 2016 Stack Exchange Inc; user contributions licensed under <a href="https://creativecommons.org/licenses/by-sa/3.0/" rel="license">cc by-sa 3.0</a>
                with <a href="http://blog.stackoverflow.com/2009/06/attribution-required/" rel="license">attribution required</a>
            </div>
            <div id="svnrev">
                rev 2016.9.12.3970
            </div>
                </div>
    </div>
    <noscript>
        <div id="noscript-warning">Stack Overflow works best with JavaScript enabled<img src="http://pixel.quantserve.com/pixel/p-c1rF4kxgLUzNc.gif" alt="" class="dno"></div>
    </noscript>
<script>var p = "http", d = "static"; if (document.location.protocol == "https:") { p += "s"; d = "engine"; } var z = document.createElement("script"); z.type = "text/javascript"; z.async = true; z.src = p + "://" + d + ".adzerk.net/ados.js"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(z, s);</script>
<script>
    var ados = ados || {};
    ados.run = ados.run || [];



        ados.run.push(function () {
                setTimeout(function () { $("#adzerk-user-match").remove(); }, window.AUMIframeDone ? 0 : 2000);
                ados_setKeywords('java,wicket,ria,vaadin');; ados_load();
        });

</script>

    <script>
            (function(i, s, o, g, r, a, m) {
                i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function() { (i[r].q = i[r].q || []).push(arguments) }, i[r].l = 1 * new Date(); a = s.createElement(o),
                m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m);
            })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');

            ga('create', 'UA-5620270-1');
            ga('set', 'dimension2', '|java|wicket|ria|vaadin|');             ga('send', 'pageview');

        var _qevents = _qevents || [],
            _comscore = _comscore || [];
        (function () {
            var ssl='https:'==document.location.protocol,
                s=document.getElementsByTagName('script')[0],
                qc=document.createElement('script');
                qc.async = true;
                qc.src = (ssl ? 'https://secure' : 'http://edge') + '.quantserve.com/quant.js';
                s.parentNode.insertBefore(qc, s);
                _qevents.push({ qacct: "p-c1rF4kxgLUzNc" });
                            var sc=document.createElement('script');
                sc.async=true;
                sc.src=(ssl?'https://sb':'http://b') + '.scorecardresearch.com/beacon.js';
                s.parentNode.insertBefore(sc, s);
                _comscore.push({ c1: "2", c2: "17440561" });
        })();

    </script>


            <script type="text/javascript">

                (function(appendChild) {
                    Node.prototype.appendChild = function() {
                        var parent = this;
                        var newNode = arguments[0];
                        if (parent.nodeName === 'HEAD'
                            && newNode
                            && newNode.nodeName === 'SCRIPT'
                            && newNode.src) {

                            window.setTimeout(function() {
                                var result = newNode.src.match(/^https:\/\/maps\.googleapis\.com\/maps\/api\/place\/js\/(\w+)Service\./i) || [];
                                var service = result[1];
                                if (service) {
                                    if (service === 'Autocompletion') service =  2;
                                    else if (service === 'Place') service = 1;
                                    else service = 0;
                                    StackExchange.using('gps', function() {
                                        StackExchange.gps.track('google_maps_places_api.call', { service: service });
                                    });
                                }
                            }, 0);
                        }
                        return appendChild.apply(this, arguments);
                    };
                })(Node.prototype.appendChild);
            </script>
    </body>
</html>
